package com.wangbo.sort;

import java.util.Arrays;

public class TestSort {
    public static void main(String[] args) {
        int[] arr = {3, 4, 6, 1, 4, 9, 6, 12, 56, 78, 1, 5};

//        test01(arr);
//        test02(arr);
//        test03(arr);
//        test04(arr);
//        test05(arr);
        test06(arr);
    }

    /**
     * 选择排序
     */
    public static void test01(int[] arr) {
        System.out.println(Arrays.toString(arr)); // [3, 4, 6, 1, 4, 9, 6]
        SelectionSort.selectionSort(arr);
        System.out.println(Arrays.toString(arr)); // [1, 3, 4, 4, 6, 6, 9]
    }

    /**
     * 冒泡排序
     */
    public static void test02(int[] arr) {
        System.out.println(Arrays.toString(arr)); // [3, 4, 6, 1, 4, 9, 6]
        BubbleSort.bubbleSort(arr);
        System.out.println(Arrays.toString(arr)); // [1, 3, 4, 4, 6, 6, 9]
    }

    /**
     * 插入排序
     */
    public static void test03(int[] arr) {
        System.out.println(Arrays.toString(arr)); // [3, 4, 6, 1, 4, 9, 6, 12, 56, 78, 1, 5]
        InsertionSort.insertionSort(arr);
        System.out.println(Arrays.toString(arr)); // [1, 1, 3, 4, 4, 5, 6, 6, 9, 12, 56, 78]
    }

    /**
     * 归并排序
     */
    public static void test04(int[] arr) {
        System.out.println(Arrays.toString(arr)); // [3, 4, 6, 1, 4, 9, 6, 12, 56, 78, 1, 5]
        MergeSort.mergeSort(arr, 0, arr.length - 1);
        System.out.println(Arrays.toString(arr)); // [1, 1, 3, 4, 4, 5, 6, 6, 9, 12, 56, 78]
    }

    /**
     * 快排
     */
    public static void test05(int[] arr) {
        System.out.println(Arrays.toString(arr)); // [3, 4, 6, 1, 4, 9, 6, 12, 56, 78, 1, 5]
        QuickSort.quickSort1(arr);
        System.out.println(Arrays.toString(arr)); // [1, 1, 3, 4, 4, 5, 6, 6, 9, 12, 56, 78]
    }

    /**
     * 堆排序
     */
    public static void test06(int[] arr) {
        System.out.println(Arrays.toString(arr)); // [3, 4, 6, 1, 4, 9, 6, 12, 56, 78, 1, 5]
        HeapSort.heapSort(arr);
        System.out.println(Arrays.toString(arr)); // [1, 1, 3, 4, 4, 5, 6, 6, 9, 12, 56, 78]
    }
}
